package com.zhixianggou.caibaobox.lottery.dataCollect.cover;

import com.alibaba.fastjson2.JSON;
import com.zhixianggou.caibaobox.commons.utils.DateUtil;
import com.zhixianggou.caibaobox.lottery.dataShow.vo.SPrizeLevelVo;
import com.zhixianggou.caibaobox.lottery.dataShow.vo.WPrizeLevelVo;
import org.apache.commons.lang3.StringUtils;
import org.mapstruct.Named;
import org.springframework.util.CollectionUtils;

import java.util.Date;
import java.util.List;

/**
 * @author zyq
 * 8/25/24 3:16 PM
 */
public class AttributeConvertUtil {
    /**
     * po中的String转为dto中的list
     */
    @Named("strToList4SL")
    public List<SPrizeLevelVo> strToList4SL(String listString) {
        if (StringUtils.isNotEmpty(listString)) {
            // 将po中的acctManagerListString用Gson转换成为list(必须和list转String使用相同的转换器)
            List<SPrizeLevelVo> list = JSON.parseArray(listString, SPrizeLevelVo.class);
            return list;
        }
        return null;
    }
    /**
     * po中的String转为dto中的list
     */
    @Named("strToList4WL")
    public List<WPrizeLevelVo> strToList4WL(String listString) {
        if (StringUtils.isNotEmpty(listString)) {
            // 将po中的acctManagerListString用Gson转换成为list(必须和list转String使用相同的转换器)
            List<WPrizeLevelVo> list = JSON.parseArray(listString, WPrizeLevelVo.class);
            return list;
        }
        return null;
    }

    /**
     * dto中的list转为po中的String
     */
    @Named("listToStr")
    public String listToStr(List<SPrizeLevelVo> list) {
        if (!CollectionUtils.isEmpty(list)) {
            // 将dto中的acctManagerList用Gson转换成为String(必须和String转list使用相同的转换器)
            String listString = JSON.toJSONString(list);
            return listString;
        }
        return null;
    }

    /**
     * 将String转为Date
     * @param dateString
     * @return
     */
    @Named("asDate")
    public Date asDate(String dateString){
        try{
            return DateUtil.parse(dateString);
        }catch (Exception e){
            return null;
        }
    }
}
